home *** CD-ROM | disk | FTP | other *** search
/ Hardcore Visual Basic 5.0 (2nd Edition) / Hardcore Visual Basic 5.0 - Second Edition (1997)(Microsoft Press).iso / Code / Goodies / CallBack / CALLBACK.BAS next >
BASIC Source File  |  1997-06-09  |  6KB  |  144 lines

  1. Attribute VB_Name = "CallBackSupport"
  2. Option Explicit
  3.  
  4. Declare Function EnumWindows Lib "User32" (ByVal pCallBack As Long, LParam As Any) As Long
  5. Declare Function EnumChildWindows Lib "User32" (ByVal hWnd As Long, ByVal pCallBack As Long, LParam As Any) As Long
  6. Declare Function EnumThreadWindows Lib "User32" (ByVal hTask As Long, ByVal pCallBack As Long, LParam As Any) As Long
  7. Declare Function GetCurrentThreadId Lib "kernel32" () As Long
  8. Declare Function GetWindowText Lib "User32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal strBuf As String, ByVal cbCount As Long) As Long
  9. Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  10. Declare Function CallWindowProc Lib "User32" Alias "CallWindowProcA" (ByVal wndrpcPrev As Long, ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal LParam As Long) As Long
  11. Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
  12. Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
  13. Declare Function PostMessage Lib "User32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal LParam As Long) As Long
  14. Declare Function IsWindowVisible Lib "User32" (ByVal hWnd As Long) As Long
  15. Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDest As Any, psource As Any, ByVal ByteLen As Long)
  16.  
  17. Public Const GWL_WNDPROC = -4
  18. Public Const GWL_STYLE = -16
  19. Public Const WS_VSCROLL = &H200000
  20. Public Const WS_HSCROLL = &H100000
  21. Public Const SWP_NOACTIVATE = &H10
  22. Public Const SWP_SHOWWINDOW = &H40
  23. Public Const SWP_DRAWFRAME = &H20
  24. Public Const SWP_NOZORDER = &H4
  25. Public Const SWP_NOSIZE = &H1
  26. Public Const SWP_NOMOVE = &H2
  27.  
  28. Public Const SB_HORZ = 0
  29. Public Const SB_VERT = 1
  30. Public Const SB_CTL = 2
  31. Public Const SB_BOTH = 3
  32. Public Const SB_LINEUP = 0
  33. Public Const SB_LINELEFT = 0
  34. Public Const SB_LINEDOWN = 1
  35. Public Const SB_LINERIGHT = 1
  36. Public Const SB_PAGEUP = 2
  37. Public Const SB_PAGELEFT = 2
  38. Public Const SB_PAGEDOWN = 3
  39. Public Const SB_PAGERIGHT = 3
  40. Public Const SB_THUMBPOSITION = 4
  41. Public Const SB_THUMBTRACK = 5
  42. Public Const SB_TOP = 6
  43. Public Const SB_LEFT = 6
  44. Public Const SB_BOTTOM = 7
  45. Public Const SB_RIGHT = 7
  46. Public Const SB_ENDSCROLL = 8
  47. Public Const WM_HSCROLL = &H114
  48. Public Const WM_VSCROLL = &H115
  49. Public Const WM_SETFOCUS = &H7
  50. Public Const WM_KILLFOCUS = &H8
  51. Public Const WM_PAINT = &HF
  52. Public Const WM_GETMINMAXINFO = &H24
  53. Type POINTAPI
  54.         X As Long
  55.         Y As Long
  56. End Type
  57.  
  58. Type MINMAXINFO
  59.         ptReserved As POINTAPI
  60.         ptMaxSize As POINTAPI
  61.         ptMaxPosition As POINTAPI
  62.         ptMinTrackSize As POINTAPI
  63.         ptMaxTrackSize As POINTAPI
  64. End Type
  65.  
  66. Declare Function SetScrollRange Lib "User32" (ByVal hWnd As Long, ByVal nBar As Long, ByVal nMinPos As Long, ByVal nMaxPos As Long, ByVal bRedraw As Long) As Long
  67. Declare Function GetScrollRange Lib "User32" (ByVal hWnd As Long, ByVal nBar As Long, lpMinPos As Long, lpMaxPos As Long) As Long
  68. Declare Function SetScrollPos Lib "User32" (ByVal hWnd As Long, ByVal nBar As Long, ByVal nPos As Long, ByVal bRedraw As Long) As Long
  69. Declare Function GetScrollPos Lib "User32" (ByVal hWnd As Long, ByVal nBar As Long) As Long
  70.  
  71. 'Font enumeration types
  72. Public Const LF_FACESIZE = 32
  73. Public Const LF_FULLFACESIZE = 64
  74.  
  75. Type LOGFONT
  76.         lfHeight As Long
  77.         lfWidth As Long
  78.         lfEscapement As Long
  79.         lfOrientation As Long
  80.         lfWeight As Long
  81.         lfItalic As Byte
  82.         lfUnderline As Byte
  83.         lfStrikeOut As Byte
  84.         lfCharSet As Byte
  85.         lfOutPrecision As Byte
  86.         lfClipPrecision As Byte
  87.         lfQuality As Byte
  88.         lfPitchAndFamily As Byte
  89.         lfFaceName(LF_FACESIZE) As Byte
  90. End Type
  91.  
  92. Type ENUMLOGFONT
  93.         elfLogFont As LOGFONT
  94.         elfFullName(LF_FULLFACESIZE) As Byte
  95.         elfStyle(LF_FACESIZE) As Byte
  96. End Type
  97. Type NEWTEXTMETRIC
  98.         tmHeight As Long
  99.         tmAscent As Long
  100.         tmDescent As Long
  101.         tmInternalLeading As Long
  102.         tmExternalLeading As Long
  103.         tmAveCharWidth As Long
  104.         tmMaxCharWidth As Long
  105.         tmWeight As Long
  106.         tmOverhang As Long
  107.         tmDigitizedAspectX As Long
  108.         tmDigitizedAspectY As Long
  109.         tmFirstChar As Byte
  110.         tmLastChar As Byte
  111.         tmDefaultChar As Byte
  112.         tmBreakChar As Byte
  113.         tmItalic As Byte
  114.         tmUnderlined As Byte
  115.         tmStruckOut As Byte
  116.         tmPitchAndFamily As Byte
  117.         tmCharSet As Byte
  118.         ntmFlags As Long
  119.         ntmSizeEM As Long
  120.         ntmCellHeight As Long
  121.         ntmAveWidth As Long
  122. End Type
  123.  
  124. ' ntmFlags field flags
  125. Public Const NTM_REGULAR = &H40&
  126. Public Const NTM_BOLD = &H20&
  127. Public Const NTM_ITALIC = &H1&
  128.  
  129. '  tmPitchAndFamily flags
  130. Public Const TMPF_FIXED_PITCH = &H1
  131. Public Const TMPF_VECTOR = &H2
  132. Public Const TMPF_DEVICE = &H8
  133. Public Const TMPF_TRUETYPE = &H4
  134.  
  135. Public Const ELF_VERSION = 0
  136. Public Const ELF_CULTURE_LATIN = 0
  137.  
  138. '  EnumFonts Masks
  139. Public Const RASTER_FONTTYPE = &H1
  140. Public Const DEVICE_FONTTYPE = &H2
  141. Public Const TRUETYPE_FONTTYPE = &H4
  142.  
  143. Declare Function EnumFontFamilies Lib "gdi32" Alias "EnumFontFamiliesA" (ByVal hdc As Long, ByVal lpszFamily As String, ByVal lpEnumFontFamProc As Long, LParam As Any) As Long
  144.